- 问题:in-context learning 不能保证同时学会多种拆分方法
比如线性问题 姚明的老婆的父亲是谁?
和交集问题 李华和王刚的共同好友有哪些?
的 prompt 不同
- 现行方案:分开写好各种类型的拆分 prompt,先识别 query 意图,再选择对应的 prompt 做 in-context learning
线性
交集
拆分基本没有问题
根据拆分结果,逐个 query 单独做检索
- 现行方案:使用基本的 GraphQAChain,包含实体抽取模块、检索模块、LLM 模块
- 实体抽取模块抽出 query 中的实体去做检索。默认效果一般,可以等抽取工作合进来
- 检索模块只检索抽出的实体,并且还是把三元组当 plain text 检索。默认效果一般。如何加入唯一标识还未知
姚明的老婆的父亲是谁?
现有 pipeline 已能较好地解决线性 2 跳问题
李华和王刚的共同好友有哪些?
抽取出错,导致检索和生成出错
上一步出错导致错误累计,但 LLM 的理解和生成能力还是在线的
- 拆 query 基本没问题
- TODO: query 意图识别
- TODO: 实体抽取和检索效果差
- TODO: 改写回答 prompt